

struct A {};
struct B{};

class D {};


template<class T>
class C {

};

template<>
class C<int> : public D {

};

template <>
class C<float> : public D {

};

